Efficient sparse polynomial factoring using the Funnel heap
نویسندگان
چکیده
This work is a comprehensive extension of Abu-Salem et al. (2015) that investigates the prowess of the Funnel Heap for implementing sums of products in the polytope method for factoring polynomials, when the polynomials are in sparse distributed representation. We exploit that the work and cache complexity of an Insert operation using Funnel Heap can be refined to depend on the rank of the inserted monomial product, where rank corresponds to its lifetime in Funnel Heap. By optimising on the pattern by which insertions and extractions occur during the Hensel lifting phase of the polytope method, we are able to obtain an adaptive Funnel Heap that minimises all of the work, cache, and space complexity of this phase. This, in turn, maximises the chances of having all polynomial arithmetic performed in the innermost levels of the memory hierarchy, and observes nearly optimal spatial locality. We provide proofs of results introduced in Abu-Salem et al. (2015) pertaining to properties of Funnel Heap, several of which are of independent worth extending beyond Hensel lifting. Additionally, we conduct a detailed empirical study confirming the superiority of Funnel Heap over the generic Binary Heap once swaps to external memory begin to take place. We support the theoretical analysis of the cache and space complexity in Abu-Salem et al. (2015) using accounts of cache misses and memory consumption, and compare the run-time results appearing there against adaptive Funnel Heap. We ∗Corresponding Author Email addresses: [email protected] (Fatima K. Abu Salem), [email protected] (Khalil El-Harake), [email protected] (Karl Gemayel) Preprint submitted to Journal of Symbolic Computation December 19, 2016 further demonstrate that Funnel Heap is a more efficient merger than the cache oblivious k-merger, which fails to achieve its optimal (and amortised) cache complexity when used for performing sums of products. This provides an empirical proof of concept that the overlapping approach for performing sums of products using one global Funnel Heap is more suited than the serialised approach, even when the latter uses the best merging structures available. Our main conclusion is that Funnel Heap will outperform Binary Heap for performing sums of products, whether data fits in in-core memory or not.
منابع مشابه
Deterministically Factoring Sparse Polynomials into Multilinear Factors
We present the first efficient deterministic algorithm for factoring sparse polynomials that split into multilinear factors. Our result makes partial progress towards the resolution of the classical question posed by von zur Gathen and Kaltofen in [GK85] to devise an efficient deterministic algorithm for factoring (general) sparse polynomials. We achieve our goal by introducing essential factor...
متن کاملSparse polynomial division using a heap
In 1974, Johnson showed how to multiply and divide sparse polynomials using a binary heap. This paper introduces a new algorithm that uses a heap to divide with the same complexity as multiplication. It is a fraction-free method that also reduces the number of integer operations for divisions of polynomials with integer coefficients over the rationals. Heap-based algorithms use very little memo...
متن کاملDeterministically Factoring Sparse Polynomials into Multilinear Factors and Sums of Univariate Polynomials
We present the first efficient deterministic algorithm for factoring sparse polynomials that split into multilinear factors and sums of univariate polynomials. Our result makes partial progress towards the resolution of the classical question posed by von zur Gathen and Kaltofen in [6] to devise an efficient deterministic algorithm for factoring (general) sparse polynomials. We achieve our goal...
متن کاملPolynomial multiplication and division using heap
We report on new code for sparse multivariate polynomial multiplication and division that we have recently integrated into Maple as part of our MITACS project at Simon Fraser University. Our goal was to try to beat Magma which is widely viewed in the computer algebra community as having state-of-the-art polynomial algebra. Here we give benchmarks comparing our implementation for multiplication ...
متن کاملSparse Polynomial Pseudo Division Using a Heap
We present a new algorithm for pseudo-division of sparse multivariate polynomials with integer coefficients. It uses a heap of pointers to simultaneously merge the dividend and partial products, sorting the terms efficiently and delaying all coefficient arithmetic to produce good complexity. The algorithm uses very little memory and we expect it to run in the processor cache. We give benchmarks...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1612.05403 شماره
صفحات -
تاریخ انتشار 2016